home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / COMAL / Z-Misc Series / (k)zj.d64 / txt.3d drawing < prev    next >
Text File  |  2007-03-01  |  2KB  |  92 lines

  1. ╘╚╔╥─ ─╔═┼╬╙╔╧╬
  2.  
  3. BY ╨AUL VAN ╠EEUWEN
  4. ─UTCH ├╧═┴╠ ╒SERS ╟ROUP
  5.  
  6. ╧NE OF THE NICE SIDES OF USING
  7. COMPUTERS IS TO DRAW PICTURES.
  8. ┬ECAUSE THE LAWS OF ╨ERPECTIVE CAN BE
  9. FORMULATED IN MATHEMATICAL TERMS, YOU
  10. CAN PROGRAM THE COMPUTER TO DRAW EVEN
  11. 3-DIMENSIONAL PICTURES. ╔ ALWAYS
  12. THOUGHT THAT ╔ NEEDED EXTENDED AND
  13. COMPLEX PROGRAMS TO DO SO, SO ╔ DID
  14. NOT GET STARTED YET.
  15.  
  16. ╚OWEVER, WHILE READING A ╟ERMAN
  17. MAGAZINE, ├64'ER, ╔ DISCOVERED A
  18. SMALL PROGRAM WITH (IN MY EYES)
  19. IMPRESSING AND ABOVE ALL NICE
  20. PICTURES FOR THE ├┬═64. ╘HE PROGRAM
  21. WAS WRITTEN IN ┬┴╙╔├, BUT TRANSLATING
  22. IT INTO ├╧═┴╠ WAS A MINOR JOB. ┴ND
  23. RUNNING IT IS NOW TWO TIMES FASTER.
  24.  
  25. ╘HE BASE FOR THE PROGRAM (ON DISK AS
  26. 3-─╔═) IS A 'NORMAL' FUNCTION, SUCH
  27. AS
  28.  
  29. ╞╒╬├ NA(X)
  30.  ╥┼╘╒╥╬ 60*╙╔╬(X/30)+10
  31. ┼╬─╞╒╬├ NA
  32.  
  33. ╞OR PLOTTING WE USE X,Y,Z-COORDINATES
  34. WITH A HORIZONTAL X,Y-PLANE. ╘HE
  35. VERTICAL Z-COORDINATE IS THE VALUE OF
  36. A FUNCTION F(X,Y) WHICH CAN BE
  37. DERIVED FROM THE FUNCTION ╬┴ AS
  38. FOLLOWS:
  39.  
  40. Z0:=-60 // START VALUE
  41. ╞╧╥ X:=0 ╘╧ 100 ─╧
  42. // LOOK AT A CIRLCE IN THE
  43. // X,Y-PLANE AROUND (0,0) WITH A
  44. // RADIUS D OF 100
  45. D:=5*╔╬╘(╙╤╥(10000-X*X)/5)
  46. ╞╧╥ Y:=D ╘╧ -D ╙╘┼╨ -5 ─╧
  47.  // R IS DISTANCE TO Z-AXIS
  48.  R:=╙╤╥(X*X-Y*Y)
  49.  Z:=25+NA(R)-0.6*Y // F(X,Y)
  50.  ╔╞ Z>Z0 ╘╚┼╬ // PLOT THIS POINT
  51.  PLOT(X,Z)
  52.  PLOT(-X,Z) // SYMMETRIC IN Z-AXIS
  53.  Z0:=Z // KEEP OLD VALUE
  54. ┼╬─╞╧╥ Y
  55. ┼╬─╞╧╥ X
  56.  
  57. ╙O WE DRAW A CIRCLE SYMMETRIC
  58. FUNCTION AROUND THE Z-AXIS, DERIVED
  59. FROM THE FUNCTION ╬┴.
  60.  
  61. ┬ECAUSE WE WANT TO SEE THIS DRAWING
  62. FROM ABOVE, ALL POINTS LYING BEFORE
  63. THE X,Z-PLANE ARE SHIFTED DOWN A LOT,
  64. POINTS BEHIND THE X,Z-PLANE ARE
  65. SHIFTED UP. ╘HIS IS DONE WITH THE
  66. TERM
  67.  
  68.   -0.6*Y
  69.  
  70. IN THE STATEMENT
  71.  
  72.   Z:=25+NA(R)-0.6*Y
  73.  
  74. ┬ECAUSE ALL POINTS ARE PLOTTED
  75. UPWARDS IN THE Y,Z-PLANE (THE
  76. SCREEN), IT IS SIMPLE TO TAKE CARE OF
  77. HIDDEN POINTS. ╘HE OLD VALUE OF ┌ IS
  78. STORED IN HELP VARIABELE ┌0 AND AFTER
  79. COMPARING THESE TWO VALUES WE CAN
  80. PLOT OR ╬╧╘ PLOT.
  81.  
  82. ╙OME OTHER INTERESTING FUNCTIONS ╬┴
  83. ARE:
  84.  
  85. 15*┴┬╙(╠╧╟/70+0.5)-╠╧╟(X*20+0.5)
  86. ╔╬╘(X)+110
  87. 90*┼╪╨(-X*X/1500)
  88. 85/(X/25+1)
  89. 30*├╧╙(╨╔*X/15)
  90.  
  91. ╧R DO SOME EXPERIMENTS YOURSELF.
  92.